Condition
Defines a contract for representing a condition that can be evaluated.
Conditions are used to determine whether certain criteria are met, often for controlling content display, triggering actions, or implementing conditional logic within the player. Each condition has a type, an evaluation sequence, an operator to combine it with other conditions, and up to four generic values that can be interpreted based on the condition's type.
The interface provides methods to access these values as strings, integers, doubles, or dates, allowing implementations to store and retrieve condition parameters in a flexible manner. Conditions are intended to be evaluated in a specific order, determined by their sequence number.
Example Scenario: A condition might check if the current time is within a specific range (using date values), or if a certain device capability is present (using string values).